package com.principles.create.abstractfactory;

/**
 * @Description 抽象工厂模式 一个工厂可以生产多个物品 结合
 * @Date 2025/1/26 19:41
 **/
// 抽象工厂
interface AbstractFactory {
    Phone cretePhone(String name);
    Mask createMask(String name);
}

class SuperFactory implements AbstractFactory{

    @Override
    public Phone cretePhone(String name) {
        if(name.equals("iphone")){
            return new IPhone();
        }else{
            return null;
        }
    }

    @Override
    public Mask createMask(String name) {
        if(name.equals("n95")){
            return new N95();
        }else{
            return null;
        }
    }
}


interface Phone{}
class IPhone implements Phone{

}

interface Mask{}
class N95 implements Mask{}